import librosa.display
import matplotlib.pyplot as plt
import numpy as np
 
# 读取音频，采样率为44100Hz，持续时间为2秒
y, sr = librosa.load('1.wav', offset=0.83, duration=2, sr=None)
 
# 提取梅尔频谱
melspec = librosa.feature.melspectrogram(y, sr)
 
# 将梅尔频率数据做对数变换
logmelspec = librosa.power_to_db(melspec)
 
# 绘制图像
fig, ax = plt.subplots(1,1)
# x轴是时间（单位：秒），y轴是梅尔尺度的频率值（单位：Hz）
img = librosa.display.specshow(logmelspec, y_axis='mel', sr=sr, x_axis='time')
plt.title('1.wav 梅尔频率语谱图', fontproperties="SimSun")
fig.colorbar(img, ax=ax, format="%+2.f dB")
plt.ylim(0, 9000) # 8192Hz以上没有能量显示，因此y轴上限减为9000
plt.show()